package com.zmn.oms.zmn.business.interfaces.message;

import com.zmn.oms.common.dto.OmsBaseOperator;
import com.zmn.oms.model.entity.log.OrderLog;
import com.zmn.oms.model.entity.work.OrderWork;
import org.springframework.scheduling.annotation.Async;

/**
 * 类描述：发送节点消息
 *
 * @author yule
 * @date 2019/7/18 14:47
 */
public interface SendOrderNodeMsgService {

    /**
     * 日志节点触发消息
     *
     * @param orderLog
     * @param dbOrderWork
     * @param omsBaseOperator
     * @param proceed
     */
    @Async
    void notice(OrderLog orderLog, OrderWork dbOrderWork, OmsBaseOperator omsBaseOperator, Object proceed);

    /**
     * 发送消息mq
     *
     * @param workId   必须    工单号
     * @param orderId  必须    订单号
     * @param logType  必须    工单日志类型
     * @param nodeMark 必须    节点标示（工单日志类型）
     * @param plat     必须    平台标示
     * @return
     */
    @Async
    public void submitOrderMsg(Long workId, Long orderId, Integer logType, Integer nodeMark, Integer plat, String remark);

}
